草庐IT

objective-c - +(void)load 的单例安全

全部标签

javascript - Chrome 扩展 : load and execute external script

我无法将外部js脚本加载到我的chrome扩展中并执行。看起来与thisquestion相同,但我仍然无法弄清楚为什么它在我的情况下不起作用。我的想法是,我想在我的内容脚本中包含一些应该解析网页内容的默认函数。对于一些特定的网页,我想加载和使用特定的解析器,所以我尝试为一个网页加载适当的js脚本,这个脚本应该扩展默认解析器的功能。现在我只尝试从外部脚本执行代码,但有这样的错误:这是我的ma​​nifest.json:{"name":"Extensionname","version":"1.2","description":"Mychromeextension","browser_act

javascript - # 或 javascript :void(0)?

我不打算开始辩论。如果我们要使用onClick事件,我们应该通过某种方式禁止href触发。-这是正确的吗?如果以上是正确的,我相信javascript:void(0)具有不触发滚动行为的优点。这些假设是否正确?注意:我不打算搜索嵌合体,但我的任务是找到一种以跨浏览器的方式设置按钮样式的方法,并且(根本)没有可访问性命中,没有黑客攻击和怪癖。 最佳答案 如果你想阻止点击链接,你应该添加event.preventDefault()在您的点击处理程序中(在IE中为event.returnValue=false;)。您似乎只是在寻找链接的外

javascript - 将函数调用保存到变量时为 "object is not a function"

我试图通过将函数缓存到变量来使我的代码更小。例如:functiontest(){vara=Array.prototype.slice,b=a.call(arguments);//DosomethingsetTimeout(function(){varc=a.call(arguments);//Dosomethingelse},200);}所以我可以不调用Array.prototype.slice.call(arguments),而是调用a.call(arguments);。我试图通过缓存Array.prototype.slice.call使它更小,但那不起作用。functiontest

javascript - 有什么理由在 JavaScript 中使用 Object.create() 或 new 吗?

到目前为止,我一直在JavaScript中使用new关键字。我一直在阅读有关Object.create的内容,我想知道我是否应该改用它。我不太明白的是我经常需要运行构造代码,所以我根本看不到Object.create将如何工作,因为它不会触发任何函数运行。谁能告诉我,在什么情况下我应该使用Object.create而不是new? 最佳答案 到目前为止,如果要创建一个对象,只能使用字面量:varobj={};或Object构造函数。varobj=Object();但是这些方法都不允许您指定所创建对象的原型(prototype)。这就是

javascript - ES5 中的 Object.defineProperty?

我看到了有关使枚举可配置的"new"Object.create的帖子。但是,它依赖于Object.defineProperty方法。我找不到此方法的跨浏览器实现。我们是否还在为旧的Object.create编写代码?我无法编写在IE6/7中无法运行的内容。 最佳答案 在ECMAScript3环境中,您无法通过ECMAScript5Object.create方法模拟一些事情。如您所见,属性参数会给您带来问题,因为在基于E3的实现中,没有办法更改属性属性。@Raynos提到的Object.defineProperty方法适用于IE8,但

javascript - 使用正则表达式验证字符串是否是 URL 安全的

我有一个网站,用户可以在其中选择用户名。目前,他们几乎可以输入任何字符,包括@!#等等我知道我可以使用正则表达式,这可能就是我要选择的。我将使用一个否定集,我假设它是正确的工具:[^@!#]那么,我怎样才能知道要放入那个集合中的所有非法字符呢?我可以开始手动放入那些显而易见的东西,例如!@#$%^&*(),但是有没有一种简单的方法可以做到这一点而无需手动将它们中的每一个都放入?我知道很多网站只允许包含字母、数字、破折号或下划线的字符串。类似的东西对我来说很管用。如有任何帮助,我们将不胜感激。谢谢S.O.! 最佳答案 不使用否定,只将

javascript - 主干JS : Load more items into a collection

在BackboneJS中,当我获取一个集合时,我应该获取整个集合还是其中的一小部分?例如,我在mongoDB中有新闻提要集合,可能有1000多个项目。当用户点击页面时,我只想向他们展示最新的10个项目,并带有“加载更多”选项。但是,如果他们通过URLhttp://site.com/#/feed/:itemID访问特定项目,我希望能够调出该项目的记录。1。我应该首先获取多少文档?2。我如何通过ID获取任何项目? 最佳答案 在对我的集合调用fetch时,我最终使用了{add:true}语句。这可以防止集合被获取的结果替换,而是将结果附加

javascript - Object.assign 和 object spread 的区别

这个问题在这里已经有了答案:Objectspreadvs.Object.assign(16个答案)关闭6年前。拥有varobj={a:1,b:2};有什么区别obj=Object.assign(obj,{c:3});和obj={...obj,c:3};

javascript - 初级 JavaScript : Working with JSON and Objects in JavaScript

我有一些像这个“产品”一样返回给浏览器的JSON:{"Title":"SchoolBag","Image":"/images/school-bag.jpg"}我希望此数据成为“产品”对象,因此我可以使用原型(prototype)方法,如返回产品的HTML图像表示的toHTMLImage():functionProduct(){}Product.prototype.toHTMLImage=function(){//Returnssomethinglike"alt=""/>}如何将我的JSON结果转换为Product对象,以便我可以使用toHTMLImage?

javascript - 未捕获的类型错误 : Property '$' of object [object DOMWindow] is not a function

我的脚本在Chrome中出现:UncaughtTypeError:Property'$'ofobject[objectDOMWindow]isnotafunction错误。functionshowSlidingDiv(){$("#slidingDiv").fadeToggle("slow","linear");}functionshowSlidingDiv2(){$("#slidingDiv2").fadeToggle("slow","linear");}functionshowSlidingDiv3(){$("#slidingDiv3").fadeToggle("slow","lin